home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / TEMP / GNU / flex / Diagnostic < prev    next >
Text File  |  1995-06-28  |  4KB  |  117 lines

  1. Diagnostics
  2. Previous: <Incompatibilities=>Incompatib> * Next: <Files=>Files> * Up: <Top=>!Root>
  3.  
  4. #Wrap on
  5. {fH3}Diagnostics{f}
  6.  
  7. #Indent +4
  8. #Indent
  9. {fEmphasis}warning, rule cannot be matched{f}
  10. #Indent +4
  11. indicates that the given
  12. rule cannot be matched because it follows other rules that
  13. will always match the same text as it.  For example, in
  14. the following "foo" cannot be matched because it comes
  15. after an identifier "catch-all" rule:
  16.  
  17. #Wrap off
  18. #fCode
  19. [a-z]+    got\_identifier();
  20. foo       got\_foo();
  21. #f
  22. #Wrap on
  23.  
  24. Using {fCode}REJECT{f} in a scanner suppresses this warning.
  25.  
  26. #Indent
  27. {fEmphasis}warning, -s option given but default rule can be matched{f}
  28. #Indent +4
  29. means that it is possible (perhaps only in a particular
  30. start condition) that the default rule (match any single
  31. character) is the only one that will match a particular
  32. input.  Since {fEmphasis}-s{f} was given, presumably this is not
  33. intended.
  34.  
  35. #Indent
  36. {fEmphasis}reject\_used\_but\_not\_detected undefined{f}
  37. #Indent +4
  38. #Indent
  39. {fEmphasis}yymore\_used\_but\_not\_detected undefined{f}
  40. #Indent +4
  41. These errors can
  42. occur at compile time.  They indicate that the scanner
  43. uses {fCode}REJECT{f} or {fEmphasis}yymore(){f} but that {fCode}flex{f} failed to notice the
  44. fact, meaning that {fCode}flex{f} scanned the first two sections
  45. looking for occurrences of these actions and failed to
  46. find any, but somehow you snuck some in (via a \#include
  47. file, for example).  Use {fEmphasis}%option reject{f} or {fEmphasis}%option yymore{f}
  48. to indicate to flex that you really do use these features.
  49.  
  50. #Indent
  51. {fEmphasis}flex scanner jammed{f}
  52. #Indent +4
  53. a scanner compiled with {fEmphasis}-s{f} has
  54. encountered an input string which wasn't matched by any of
  55. its rules.  This error can also occur due to internal
  56. problems.
  57.  
  58. #Indent
  59. {fEmphasis}token too large, exceeds YYLMAX{f}
  60. #Indent +4
  61. your scanner uses {fEmphasis}%array{f}
  62. and one of its rules matched a string longer than the {fEmphasis}YYL-{f}
  63. {fCode}MAX{f} constant (8K bytes by default).  You can increase the
  64. value by \#define'ing {fCode}YYLMAX{f} in the definitions section of
  65. your {fCode}flex{f} input.
  66.  
  67. #Indent
  68. {fEmphasis}scanner requires -8 flag to use the character '{fStrong}x{f}'{f}
  69. #Indent +4
  70. Your
  71. scanner specification includes recognizing the 8-bit
  72. character {fStrong}x{f} and you did not specify the -8 flag, and your
  73. scanner defaulted to 7-bit because you used the {fEmphasis}-Cf{f} or {fEmphasis}-CF{f}
  74. table compression options.  See the discussion of the {fEmphasis}-7{f}
  75. flag for details.
  76.  
  77. #Indent
  78. {fEmphasis}flex scanner push-back overflow{f}
  79. #Indent +4
  80. you used {fEmphasis}unput(){f} to push
  81. back so much text that the scanner's buffer could not hold
  82. both the pushed-back text and the current token in {fCode}yytext{f}.
  83. Ideally the scanner should dynamically resize the buffer
  84. in this case, but at present it does not.
  85.  
  86. #Indent
  87. {fEmphasis}input buffer overflow, can't enlarge buffer because scanner uses REJECT{f}
  88. #Indent +4
  89. the scanner was working on matching an
  90. extremely large token and needed to expand the input
  91. buffer.  This doesn't work with scanners that use {fCode}REJECT{f}.
  92.  
  93. #Indent
  94. {fEmphasis}fatal flex scanner internal error--end of buffer missed{f}
  95. #Indent +4
  96. This can occur in an scanner which is reentered after a
  97. long-jump has jumped out (or over) the scanner's
  98. activation frame.  Before reentering the scanner, use:
  99.  
  100. #Wrap off
  101. #fCode
  102. yyrestart( yyin );
  103. #f
  104. #Wrap on
  105.  
  106. or, as noted above, switch to using the C++ scanner class.
  107.  
  108. #Indent
  109. {fEmphasis}too many start conditions in <> construct!{f}
  110. #Indent +4
  111. you listed
  112. more start conditions in a <> construct than exist (so you
  113. must have listed at least one of them twice).
  114.  
  115. #Indent
  116.  
  117.